In today's ever more complex enterprise computing systems, it is often desirable, and even necessary in many cases, to have within a single enterprise computing system various different software applications from different software vendors. In such a case, the enterprise computing system is referred to as having a heterogeneous system landscape. Integrating various software applications from different vendors, and sometimes applications from the same vendor, is a challenging and often costly task.
There are many software applications where it is helpful for a user, when using the software application, to perform a search for content electronically stored in a knowledge base. One example of such a software application is a customer interaction center software application. A customer interaction center application is a software application that is used in a customer interaction center, for example, a call center. A customer interaction center software application assists a human being agent (that is, a user) in interacting with a customer. During the course of a customer interaction, it may be helpful for the interaction center agent to search for information that is stored in a knowledge base, for example, to find a solution to a customer's problem.
It is possible that search engine functionality may be built in, or pre-configured, to operate with a particular software application. Such may be the case, for example, when both the software application and the search engine functionality are provided by the same software vendor. Even where a software application and a search engine application are not designed to work with one another, because for example the two are provided by different software vendors, it may be possible to integrate the search engine application with the software application so that functionality from both software applications may be executed as an integrated software solution where, from the user's perspective, it appears that a single software application is being executed. Although such integration may be possible, it typically has required a costly and time-consuming software integration effort.
As a result, in many cases where there is implemented, in a single computing environment, both a software application and a search engine application that may be needed in combination with the software application, the two applications operate entirely separately. As such, a user will need to switch between the two applications, for example, by switching between different windows. Particularly in a customer interaction center application, where timeliness is typically essential, this switching between the interaction center application and the search engine application may take too much time, and as such may be unacceptable from a customer care perspective. In addition, where the two functions are not integrated, various functions that may be possible with an integrated solution may not be possible.